/*
 * Copyright : (C) 2023 Termony Technology, Inc. All Rights Reserved.
 */

#ifndef RK3588S_PARAMTERERS_H
#define RK3588S_PARAMTERERS_H

#include "rk_parameters_comm.h"

#ifdef __cplusplus
extern "C"
{
#endif

/* CORE */
#define CORE0_AFF   0x0
#define CORE1_AFF   0x1
#define CORE2_AFF   0x2
#define CORE3_AFF   0x3
#define CORE4_AFF   0x4
#define CORE5_AFF   0x5
#define CORE6_AFF   0x6
#define CORE7_AFF   0x7
#define RKCORE_NUM  8

/* CACHE */
#define CACHE_LINE_ADDR_MASK 0x3FUL
#define CACHE_LINE  64U

/* Memory address mapping region */
#define RK_MEMORY_MAP_ADDR 0x20000000UL
#define RK_MEMORY_MAP_SIZE 0x10000000UL /* 256MB */

/* Device address mapping region */
#define RK_DEVICE_MAP_ADDR 0xF0000000UL
#define RK_DEVICE_MAP_SIZE 0x10000000UL /* 256MB */

/* PCIe address mapping region */
#define RK_PCIE_MAP_ADDR 0x900000000ULL
#define RK_PCIE_MAP_SIZE 0x140000000ULL /* 5GB */

/* GIC */
#define GIC_VERSION     3
#define GIC_BASE_ADDR   0xFE600000U
#define GICD_BASE_ADDR  (GIC_BASE_ADDR + 0)
#define GITS_BASE_ADDR  (GIC_BASE_ADDR + 0x40000U)
#define GICR_BASE_ADDR  (GIC_BASE_ADDR + 0x80000U)

#ifdef __cplusplus
}

#endif

#endif /* RK3588S_PARAMTERERS_H */